扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
以下是引用片段: using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication1 { class Program { /// /// 发生一个事件:用户选择了一个选项 /// 响应是1:用户得到想要的结果 /// 2:老板得到是否有用户在看他的 /// /// 即:多点委托[显示结果,提示老板] /// /// static void Main(string[] args) { //UserInputMonitor 的成员userInputRequest 事件 UserInputMonitor uim = new UserInputMonitor(); //为userInputRequest绑定2个方法 UserView uv = new UserView(uim); person p = new person(uim); //run方法里面会提示用户来促发userInputRequest 事件 uim.Run(); } } } using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication1 { class UserInputMonitor { public delegate void userInputRequest(object send,UserEventArgs e); public event userInputRequest onUserInputRequest; public void Run() { //不同的促发情况 //UserEventArgs 带上了用户选择的信息 while (true) { System.Console.WriteLine("input p:[look personal ]"); System.Console.WriteLine("input c:[look company]"); System.Console.WriteLine("input e:[exit ]"); string input = System.Console.ReadLine(); if (input.ToLower() == "p") onUserInputRequest(this, new UserEventArgs(RequestType.Personal)); else if (input.ToLower() == "c") onUserInputRequest(this, new UserEventArgs(RequestType.Company)); else if (input.ToLower() == "e") return; else continue; } } } } using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication1 { enum RequestType{ Personal, Company } /// /// 携带了用户选择信息的EventArgs /// class UserEventArgs : EventArgs { private RequestType reqType; public RequestType GetRequestType { get { return this.reqType; } } public UserEventArgs(RequestType t) { this.reqType = t; } } } using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication1 { /// /// 绑定一个事件 /// class UserView { public UserView(UserInputMonitor uim) { uim.onUserInputRequest += new UserInputMonitor.userInputRequest(uim_onUserInputRequest); } protected void uim_onUserInputRequest(object send, UserEventArgs e) { if (e.GetRequestType == RequestType.Company) System.Console.WriteLine("company is best!!"); if(e.GetRequestType == RequestType.Personal) System.Console.WriteLine("he is chinese!!"); } } } using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication1 { /// /// 绑定一个事件 /// class person { public person(UserInputMonitor uim) { uim.onUserInputRequest += new UserInputMonitor.userInputRequest(uim_onUserInputRequest); } protected void uim_onUserInputRequest(object send, UserEventArgs e) { if (e.GetRequestType == RequestType.Personal) System.Console.WriteLine("somebody miss u!!"); } } } |
濡傛灉鎮ㄩ潪甯歌揩鍒囩殑鎯充簡瑙T棰嗗煙鏈€鏂颁骇鍝佷笌鎶€鏈俊鎭紝閭d箞璁㈤槄鑷抽《缃戞妧鏈偖浠跺皢鏄偍鐨勬渶浣抽€斿緞涔嬩竴銆�